Wide area networks (WAN), such as the Internet, are an important channel of content distribution today. WAN servers typically communicate using a standard WAN communication protocol, such as FTP or HTTP. Typically, WAN protocols use the TCP transport layer protocol, which uses a sliding window feature to manage acknowledgements. Using the sliding window in transmission of a file, a plurality of data blocks of the file may be transmitted before receipt of an acknowledgement for a previous block of the file. WAN protocols such as HTTP are characterized by a high degree of parallelity. In addition, some WAN protocols (e.g. HTTPS) have a capacity for secure data transmission.
Local area networks (LAN) were originally conceived to facilitate information transfer and/or sharing of resources (e.g. printers or media readers) among a group of computers in a defined location. Typically the location definition was an institution or business. LAN protocols such as TFTP are characterized by a low degree of parallelity and/or lack a capacity for secure data transmission.
With the advent of WAN technology, many LANs are connected to a WAN (e.g. the Internet). Some LAN devices, such as desktop and laptop computers, operate WAN compatible software which can formulate requests and receive responses in a standard WAN communication protocol. For example, Web browsers can formulate HTTP requests and send them to a WAN server and receive an HTTP response in the form of a WWW page.
However, many LAN devices (e.g. IP phones and wireless access points) are not designed and/or configured to employ standard high parallelity and/or secure communication protocols. Other LAN devices support the HTTP protocol for some purposes, but rely upon low parallelity and/or insecure protocols such as trivial file transfer protocol (TFTP) for other purposes such as firmware upgrade. As a result, even though these devices reside in a LAN with a connection to a WAN, these LAN devices derive little benefit from content residing on a remote WAN server because attempts to retrieve a content item from a remote server using TFTP are subject to long response time. A long response time may result in the request being timed out before a download is completed. Alternatively or additionally, a lost packet may result in timeout in a TFTP client before requesting the same block again. Another problem is large latency which cause to lower transfer rates because TFTP clients waits until a response packet is received before sending a request for the next block. These problems become more severe as the size of a requested content item increases.
WAN protocols also offer other features not typically inherent in LAN protocols such as congestion avoidance, slow start, fast retransmit, fast recovery. These features are described, for example in RFC2001, RFC2581, RFC3390 (These requests for comments are fully incorporated herein by reference and are publicly available from <http://www.ietf.org/rfc/>). In general, these features are supported by HTTP in TCP/IP, but not by UDP/IP.
LAN devices (e.g. IP phones and wireless access points) frequently employ the TFTP protocol for file distribution. However, TFTP was designed for use primarily in a LAN environment with low latency/per block confirmation. For example, in TFTP, files are transferred consecutively block by block; each block being transmitted only after acknowledgement of the immediately previous transmitted block was received [low parallelity]. The inherently high latency of WAN links means that, transmission of files across a WAN using TFTP may be very slow. Furthermore, TFTP lacks security measures. In addition, operation of many similar devices making similar requests in a short period of time can cause network congestion as multiple copies of the same file are transmitted over low bandwidth connections.
US patent publication 2005/0174994 by Park, the disclosure of which is incorporated herein by reference, discloses a system for automatically upgrading firmware of Internet videophones. Park teaches interposing an upgrade server between a plurality of network devices and a remote TFTP or HTTP server. According to the teachings of Park, each network device communicates individually with the remote TFTP or HTTP server. Park does not address the problem that devices which employ the TFTP protocol are subject to the inherently slow speed of that protocol.
U.S. Pat. No. 6,226,676 to Crump et al. and U.S. Pat. No. 6,618,359 to Chen et al., the disclosures of which are each fully incorporated herein by reference, describe a proxy which translates between a first communication protocol and a second communication protocol to allow machines configured with incompatible protocol suites to communicate with each other. Crump and/or Chen teach maintaining an end to end connection between the two machines.
US patent publication 2005/0216906 by Shahindoust et al., the disclosure of which is incorporated herein by reference, teaches active distribution of software updates to subscribers.
US patent publication 2005/0144616 by Hammond et al., the disclosure of which is incorporated herein by reference, teaches active download of an update file in its entirety from an update server, validation of the file and then active transmission of the file to one or more systems which are to be updated. The proxy of the Hammond application also actively identifies systems which are in need of an update.
U.S. Pat. Nos. 6,742,043; 5,727,159; 6,118,472 and 6,895,425 relate generally to the concept of proxy servers and are cited here as being generally indicative of the state of the art. The disclosure of each of these patents is fully incorporated herein by reference.